<?php 
class ArticleController extends CommonController{
	//定义模型控制器
	private $_model;
	//构造模型控制器
	public function __init(){
		//载入模型控制器
		$this->_model = K('Article');
	}
	
	/**
	 * 文章列表内容页面
	 */
	public function index(){
		//如果有筛选的时候，组合where
		if($cid = Q('get.cid',0,'intval')) {
			//分类筛选
			$where = array('cid'=>$cid);
		}else{
			//不分类筛选
			$where = NULL;
		}
		//获得两张关联表里的所有数据
		$data = K('ArcCateView')->get_all_data($where);
		//分配分页变量，给HTML使用
		$this->assign('page',$data['page']);
		//分页只使用一次就可以。
		unset($data['page']);
		//分配两张表里的所有数据给HTML使用
		$this->assign('data',$data);	
		//载入文章主页	
		$this->display();
	}
	
	/**
	 * 添加文章
	 */
	public function add(){
		//获得提交数据
		if(IS_POST){
			//获得提交数据交给文章模型控制器，如果有错误提示错误
			if(!$this->_model->add_data()) $this->error($this->_model->error);
			//提示提交成功
			$this->success('添加成功');
		}
		//获得可以选择的分类
		$cateData = K('Category')->get_all_data();
		//分配变量
		$this->assign('cateData',$cateData);
		
		//获得可以选择的标签
		$tagData = K('Tag')->get_all_data();
		//分配变量
		$this->assign('tagData',$tagData);
		//载入添加文章页面
		$this->display();
	}
	/**
 	* 删除
 	* @return [type] [description]
 	*/
	public function del(){
		//传递参数交给模型控制器里的删除功能
		if($this->_model->del(Q('get.aid',0,'intval'))){
			//删除成功
			$this->success('删除成功');
		}
		//删除失败，调用模型里的删除错误；
		$this->error($this->_model->error);
	}


	
	/**
	 * 修改编辑
	 */

	public function edit(){
		//获得提交数据；
		if(IS_POST){
			if($this->_model->update_data(Q('aid',0,'intval'))){
				//提示修改成功
				$this->success('修改成功');
			}
			//提示修改失败
		 	$this->error($this->_model->error);
		}
		//获得需要修改的数据，赋值变量
		$aid = Q('get.aid',0,'intval');
		//获得旧数据；
		$oldData = K('ArcDataView')->get_one_data(array('aid'=>$aid));
		//分配变量给文章编辑用
		$this->assign('oldData',$oldData);
		//获得所有分类
		$cateData = K('Category')->get_all_data();
		//分配变量给文章编辑用
		$this->assign('cateData',$cateData);
		//获得所有标签
		$tagData = K('tag')->get_all_data();
		//分配变量给文章编辑用
		$this->assign('tagData',$tagData);
		//获得当前文章所有标签
		$arcTagData = K('ArticleTag')->get_tagid(array('article_aid'=>$aid));
		//分配变量给文章编辑用
		$this->assign('arcTagData',$arcTagData);
		//载入文章编辑页面
	    $this->display();


	}
	/**
	 * 回收站
	 * @return [type] [description]
	 */
	public function recycle(){
		//如果有筛选的时候，组合where语句
		if($cid = Q('get.cid',0,'intval')) {
			$where = array('cid'=>$cid);
		}else{
			$where = NULL;
		}
		//关联标签库、文章库、和文章管理库，得到全部数据，获得回收站文件
		$data = K('ArcCateView')->get_all_data($where,1);
		//分配分页变量
		$this->assign('page',$data['page']);
		//删除分页变量
		unset($data['page']);
		//分配回收站数据
		$this->assign('data',$data);
		///载入回收站页面		
		$this->display();
	}
	/**
	 * 回收站还原
	 */
	public function  Undo(){
		//传递参数交给模型控制器里的删除功能
		if($this->_model->undo(Q('get.aid',0,'intval'))){
			//删除成功
			$this->success('还原成功');
		}
		//删除失败，调用模型里的删除错误；
		$this->error($this->_model->error);

	}
	/**
	 * 回收站彻底删除
	 * @return [type] [description]
	 */
	public function del_data(){
	//传递参数交给模型控制器里的删除功能
		if($this->_model->del_data(Q('get.aid',0,'intval'))){
			//删除成功
			$this->success('删除成功');
		}
		//删除失败，调用模型里的删除错误；
		$this->error($this->_model->error);
	}

}

 
 
 
 
 
 
 
 
 
 
 
 
 
 